## Test how relocations are dumped.

# RUN: yaml2obj %s -o %t
# RUN: llvm-readobj --relocs --expand-relocs %t | \
# RUN:   FileCheck %s --strict-whitespace --match-full-lines --check-prefix=RELOCSEXP
# RUN: llvm-readobj --relocs %t | \
# RUN:   FileCheck %s --strict-whitespace --match-full-lines --check-prefix=RELOCS

#      RELOCSEXP:Relocations [
# RELOCSEXP-NEXT:  Section (index: 1) .text {
# RELOCSEXP-NEXT:    Relocation {
# RELOCSEXP-NEXT:      Virtual Address: 0x80
# RELOCSEXP-NEXT:      Symbol: foo (0)
# RELOCSEXP-NEXT:      IsSigned: No
# RELOCSEXP-NEXT:      FixupBitValue: 0
# RELOCSEXP-NEXT:      Length: 22
# RELOCSEXP-NEXT:      Type: R_POS (0x0)
# RELOCSEXP-NEXT:    }
# RELOCSEXP-NEXT:    Relocation {
# RELOCSEXP-NEXT:      Virtual Address: 0x100
# RELOCSEXP-NEXT:      Symbol: foo (0)
# RELOCSEXP-NEXT:      IsSigned: No
# RELOCSEXP-NEXT:      FixupBitValue: 0
# RELOCSEXP-NEXT:      Length: 21
# RELOCSEXP-NEXT:      Type: R_REL (0x2)
# RELOCSEXP-NEXT:    }
# RELOCSEXP-NEXT:  }
# RELOCSEXP-NEXT:  Section (index: 2) .data {
# RELOCSEXP-NEXT:    Relocation {
# RELOCSEXP-NEXT:      Virtual Address: 0x200
# RELOCSEXP-NEXT:      Symbol: bar (1)
# RELOCSEXP-NEXT:      IsSigned: No
# RELOCSEXP-NEXT:      FixupBitValue: 0
# RELOCSEXP-NEXT:      Length: 20
# RELOCSEXP-NEXT:      Type: R_TOC (0x3)
# RELOCSEXP-NEXT:    }
# RELOCSEXP-NEXT:  }
# RELOCSEXP-NEXT:]

#      RELOCS:Relocations [
# RELOCS-NEXT:  Section (index: 1) .text {
# RELOCS-NEXT:    0x80 R_POS foo(0) 0x15
# RELOCS-NEXT:    0x100 R_REL foo(0) 0x14
# RELOCS-NEXT:  }
# RELOCS-NEXT:  Section (index: 2) .data {
# RELOCS-NEXT:    0x200 R_TOC bar(1) 0x13
# RELOCS-NEXT:  }
# RELOCS-NEXT:]

--- !XCOFF
FileHeader:
  MagicNumber: 0x01DF
Sections:
  - Name:  .text
    Flags: [ STYP_TEXT ]
    Relocations:
      - Address: 0x80
        Symbol:  0x0
        Info:    0x15
        Type:    0x0
      - Address: 0x100
        Symbol:  0x0
        Info:    0x14
        Type:    0x2
  - Name:  .data
    Flags: [ STYP_DATA ]
    Relocations:
      - Address: 0x200
        Symbol:  0x1
        Info:    0x13
        Type:    0x3
Symbols:
  - Name:    foo
    Value:   0x0
    Section: .text
  - Name:    bar
    Value:   0x80
    Section: .data
